/**
 * Definition for singly-linked list.
  * struct ListNode {
       *     int val;
        *     struct ListNode *next;
         * };
          */

           typedef struct ListNode ListNode;  struct ListNode*deleteDuplicates(struct ListNode* head) {
                    ListNode*new_head=(ListNode*)malloc(sizeof(ListNode));
                         new_head->val =-101;
                              new_head->next=head;
                                   ListNode*slow=new_head;
                                        ListNode*quick=head;
                                             while(quick)
                                                  {
                                                               if(quick->val!=slow->val)
                                                                        {
                                                                                         slow->next=quick;
                                                                                                      slow =quick;
                                                                        }
                                                                                 quick=quick->next;
                                                  }
                                                       slow->next=quick;
                                                            return new_head->next;   
           }
                                                                        }
                                                  }
           }